<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0">
	<annotation>
		<appinfo source="urn:ogc:specification:gml:schema-xsd:feature:3.2.0">feature.xsd</appinfo>
		<documentation>See ISO/DIS 19136 Clause 9.
A GML feature is a (representation of a) identifiable real-world object in a selected domain of discourse. The feature schema provides a framework for the creation of GML features and feature collections.</documentation>
	</annotation>
	<include schemaLocation="geometryAggregates.xsd"/>
	<include schemaLocation="temporal.xsd"/>
	<complexType name="AbstractFeatureType" abstract="true">
		<annotation>
			<documentation>The basic feature model is given by the gml:AbstractFeatureType.
The content model for gml:AbstractFeatureType adds two specific properties suitable for geographic features to the content model defined in gml:AbstractGMLType. 
The value of the gml:boundedBy property describes an envelope that encloses the entire feature instance, and is primarily useful for supporting rapid searching for features that occur in a particular location. 
The value of the gml:location property describes the extent, position or relative location of the feature.</documentation>
		</annotation>
		<complexContent>
			<extension base="gml:AbstractGMLType">
				<sequence>
					<element ref="gml:boundedBy" minOccurs="0"/>
					<element ref="gml:location" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="AbstractFeature" type="gml:AbstractFeatureType" abstract="true" substitutionGroup="gml:AbstractGML">
		<annotation>
			<documentation>This abstract element serves as the head of a substitution group which may contain any elements whose content model is derived from gml:AbstractFeatureType.  This may be used as a variable in the construction of content models.  
gml:AbstractFeature may be thought of as “anything that is a GML feature” and may be used to define variables or templates in which the value of a GML property is “any feature”. This occurs in particular in a GML feature collection where the feature member properties contain one or multiple copies of gml:AbstractFeature respectively.</documentation>
		</annotation>
	</element>
	<element name="boundedBy" type="gml:BoundingShapeType" nillable="true">
		<annotation>
			<documentation>This property describes the minimum bounding box or rectangle that encloses the entire feature.</documentation>
		</annotation>
	</element>
	<complexType name="BoundingShapeType">
		<sequence>
			<choice>
				<element ref="gml:Envelope"/>
				<element ref="gml:Null"/>
			</choice>
		</sequence>
		<attribute name="nilReason" type="gml:NilReasonType"/>
	</complexType>
	<element name="EnvelopeWithTimePeriod" type="gml:EnvelopeWithTimePeriodType" substitutionGroup="gml:Envelope">
		<annotation>
			<documentation>gml:EnvelopeWithTimePeriod is provided for envelopes that include a temporal extent. It adds two time position properties, gml:beginPosition and gml:endPosition, which describe the extent of a time-envelope.  
Since gml:EnvelopeWithTimePeriod is assigned to the substitution group headed by gml:Envelope, it may be used whenever gml:Envelope is valid.</documentation>
		</annotation>
	</element>
	<complexType name="EnvelopeWithTimePeriodType">
		<complexContent>
			<extension base="gml:EnvelopeType">
				<sequence>
					<element name="beginPosition" type="gml:TimePositionType"/>
					<element name="endPosition" type="gml:TimePositionType"/>
				</sequence>
				<attribute name="frame" type="anyURI" default="#ISO-8601"/>
			</extension>
		</complexContent>
	</complexType>
	<element name="location" type="gml:LocationPropertyType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
	</element>
	<complexType name="LocationPropertyType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
		<sequence>
			<choice>
				<element ref="gml:AbstractGeometry"/>
				<element ref="gml:LocationKeyWord"/>
				<element ref="gml:LocationString"/>
				<element ref="gml:Null"/>
			</choice>
		</sequence>
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
	</complexType>
	<element name="LocationString" type="gml:StringOrRefType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
	</element>
	<element name="LocationKeyWord" type="gml:CodeType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
	</element>
	<element name="locationName" type="gml:CodeType">
		<annotation>
			<documentation>The gml:locationName property element is a convenience property where the text value describes the location of the feature. If the location names are selected from a controlled list, then the list shall be identified in the codeSpace attribute.</documentation>
		</annotation>
	</element>
	<element name="locationReference" type="gml:ReferenceType">
		<annotation>
			<documentation>The gml:locationReference property element is a convenience property where the text value referenced by the xlink:href attribute describes the location of the feature.</documentation>
		</annotation>
	</element>
	<element name="priorityLocation" type="gml:PriorityLocationPropertyType" substitutionGroup="gml:location">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
	</element>
	<complexType name="PriorityLocationPropertyType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
		<complexContent>
			<extension base="gml:LocationPropertyType">
				<attribute name="priority" type="string"/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="FeaturePropertyType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
		<sequence minOccurs="0">
			<element ref="gml:AbstractFeature"/>
		</sequence>
		<attributeGroup ref="gml:OwnershipAttributeGroup"/>
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
	</complexType>
	<element name="featureMember" type="gml:FeaturePropertyType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
	</element>
	<element name="featureProperty" type="gml:FeaturePropertyType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
	</element>
	<complexType name="FeatureArrayPropertyType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
		<sequence minOccurs="0" maxOccurs="unbounded">
			<element ref="gml:AbstractFeature"/>
		</sequence>
	</complexType>
	<element name="featureMembers" type="gml:FeatureArrayPropertyType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
	</element>
	<element name="centerOf" type="gml:PointPropertyType"/>
	<element name="position" type="gml:PointPropertyType"/>
	<element name="extentOf" type="gml:SurfacePropertyType"/>
	<element name="edgeOf" type="gml:CurvePropertyType"/>
	<element name="centerLineOf" type="gml:CurvePropertyType"/>
	<element name="multiLocation" type="gml:MultiPointPropertyType"/>
	<element name="multiCenterOf" type="gml:MultiPointPropertyType"/>
	<element name="multiPosition" type="gml:MultiPointPropertyType"/>
	<element name="multiCenterLineOf" type="gml:MultiCurvePropertyType"/>
	<element name="multiEdgeOf" type="gml:MultiCurvePropertyType"/>
	<element name="multiCoverage" type="gml:MultiSurfacePropertyType"/>
	<element name="multiExtentOf" type="gml:MultiSurfacePropertyType"/>
	<complexType name="BoundedFeatureType" abstract="true">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
		<complexContent>
			<restriction base="gml:AbstractFeatureType">
				<sequence>
					<group ref="gml:StandardObjectProperties"/>
					<element ref="gml:boundedBy"/>
					<element ref="gml:location" minOccurs="0"/>
				</sequence>
			</restriction>
		</complexContent>
	</complexType>
	<complexType name="AbstractFeatureMemberType" abstract="true">
		<annotation>
			<documentation>To create a collection of GML features, a property type shall be derived by extension from gml:AbstractFeatureMemberType.
By default, this abstract property type does not imply any ownership of the features in the collection. The owns attribute of gml:OwnershipAttributeGroup may be used on a property element instance to assert ownership of a feature in the collection. A collection shall not own a feature already owned by another object.</documentation>
		</annotation>
		<sequence/>
		<attributeGroup ref="gml:OwnershipAttributeGroup"/>
	</complexType>
	<complexType name="AbstractFeatureCollectionType" abstract="true">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
		<complexContent>
			<extension base="gml:AbstractFeatureType">
				<sequence>
					<element ref="gml:featureMember" minOccurs="0" maxOccurs="unbounded"/>
					<element ref="gml:featureMembers" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="AbstractFeatureCollection" type="gml:AbstractFeatureCollectionType" abstract="true" substitutionGroup="gml:AbstractFeature">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
	</element>
	<element name="FeatureCollection" type="gml:FeatureCollectionType" substitutionGroup="gml:AbstractFeature">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
	</element>
	<complexType name="FeatureCollectionType">
		<annotation>
			<appinfo>deprecated</appinfo>
		</annotation>
		<complexContent>
			<extension base="gml:AbstractFeatureCollectionType"/>
		</complexContent>
	</complexType>
</schema>
